﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Plazos
{
    public partial class FormModificarCursoDatos : Form
    {
        int si;
        public FormModificarCursoDatos(int sic)
        {
            InitializeComponent();
            // aca rescatar los datos ya eistentes del curso 
            // rescatar los dias , meses y años con lo mismo de calcular las fechas dayofweek, months , years
            this.si = sic;
            FormModificarCurso a = new FormModificarCurso();
            
            Curso cur = new Curso();
            Curso asd = new Curso();
            List<Curso> cursos = cur.getCursos();
            DateTime fecha;
            Feriados fec = new Feriados();
            List<String> feri = fec.rescataFeriados();
            foreach (Curso c in cursos)
            {
                if (this.si == c.Sic) {
                    textHoras.Text = Convert.ToString(c.Horas);
                    textHorasClase.Text = Convert.ToString(c.Horasxdia);
                    fecha = Convert.ToDateTime(c.FechaInicioLect);
                    dateInicioM.Value = new DateTime((int)fecha.Year, (int)fecha.Month, (int)fecha.Day);
                    fecha = Convert.ToDateTime(c.FechaTermLect);
                    dateTerminoM.Value = new DateTime((int)fecha.Year, (int)fecha.Month, (int)fecha.Day);
                    if (c.Modificar == "t")
                    {
                        fecha = Convert.ToDateTime(c.FechaInicioPractica);
                        datePrimeroPractica.Value = new DateTime((int)fecha.Year, (int)fecha.Month, (int)fecha.Day);
                        fecha = Convert.ToDateTime(c.FechaPractica);
                        dateUltimoM.Value = new DateTime((int)fecha.Year, (int)fecha.Month, (int)fecha.Day);
                    }
                }
            }
            
        }

       

        private void dateInicioM_ValueChanged(object sender, EventArgs e)
        {
            
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Curso c = new Curso();
            Curso cu = new Curso();
            Semestre s = new Semestre();
            Feriados fe = new Feriados();
            List<String> fer = fe.rescataFeriados();
            int id;
            int aux;
            string primero;
            id = this.si;

            c.FechaInicioLect = this.dateInicioM.Value.ToString("dd-MM-yyyy");
            c.Nivelacion = this.dateTerminoM.Value.ToString("dd-MM-yyyy");
            c.FechaPractica = this.dateUltimoM.Value.ToString("dd-MM-yyyy");
            c.Modificar = "t";

            primero = this.datePrimeroPractica.Value.ToString("dd-MM-yyyy");
            primero = primero.Substring(0, 10);
            c.FechaInicioPractica = primero;
            aux = Convert.ToInt32(textHoras.Text);
            aux = int.Parse(textHoras.Text);
            c.Horas = aux;
            aux = Convert.ToInt32(textHorasClase.Text);
            aux = int.Parse(textHorasClase.Text);
            c.Horasxdia = aux;
            c.Dias = c.Horas / c.Horasxdia;
            c.FechaTermLect = cu.sumaDiaHabil(c.FechaInicioLect, c.Dias, fer);
            //Cambiar fecha de nivelacion 
            DateTime n = Convert.ToDateTime(c.Nivelacion);
            DateTime f = Convert.ToDateTime(c.FechaTermLect);
            int result = DateTime.Compare(n, f);
           


            // calcular fechas
            if (result != 0)
            {
                c.FechaTermLect = c.Nivelacion;
                //MessageBox.Show("fecha termino lectivo " + c.FechaTermLect);
            }
            c.calcularFechas();
           
            c.F2 = cu.sumaDiaHabil(c.FechaInicioPractica, 11, fer);
            s.calculaSemestre(c.FechaInicioLect);
            


            Curso curso = new Curso(this.si, s.IdSem, c.Horas, c.Dias, c.Horasxdia, c.FechaInicioLect, c.FechaTermLect,c.Modificar, c.Colocar,c.FechaInicioPractica, c.FechaPractica, c.InsOcular, c.Relatores, c.Supervision50, c.Encuesta75, c.Publicar, c.CorrerLista, c.VisitaInfraestructura, c.AcuerdoOperativo, c.F1, c.F1C, c.IngresoSence, c.F2, c.F2C, c.F3, c.Seguimiento, c.IngSeguimiento1, c.IngSeguimiento2, c.F4, c.Certificado, c.EntreCertif);
            if (curso.modificarCurso(id))
            {
                MessageBox.Show("Modificado con éxito ");
                this.Dispose();
            }
            else
            {
                MessageBox.Show("Error al modificar el curso");
                //  MessageBox.Show(c.Error);

            }
            
        }

        private void FormModificarCursoDatos_Load(object sender, EventArgs e)
        {
            
        }

        private void label4_Click(object sender, EventArgs e)
        {

        }

        private void datePrimeroPractica_ValueChanged(object sender, EventArgs e)
        {

        }
    }
}
